iT邦幫忙

2024 iThome 鐵人賽

DAY 13
1
佛心分享-SideProject30

從卡關到通關的Spring Boot 腦內風暴系列 第 13

我傳我傳我傳傳傳—前端請求參數傳入方式

  • 分享至 

  • xImage
  •  

開發時,對於前端參數傳遞有不同的做法,特別是使用Spring MVC開發webd框架時,內建多種處理參數請求的方式,常見的有@PathVariable、@RequestParam 和 @RequestBody。一開始會搞不太懂什麼時機該用哪個,畢竟每種方法都能順利取得參數,為什麼要分那麼多種呢?其實,理解它們各自的用途後,會發現每種方式都有其最佳的應用場景。

傳參方向

前端傳至後端(客戶端→伺服器端)

前端(像是網頁、應用程式、API客戶端)向後端發送請求時,就會將參數放入請求當中。這些參數可透過URL路徑、查詢字串、請求體的方式傳遞給後端。

後端傳至前端(伺服器端→客戶端)

當後端處理完前端傳來的請求後,會將結果作為響應返回給前端,而響應內容通常會包含狀態碼、訊息、或資料數據(常見使用JSON格式)。

常見的參數請求

@PathVariable(URL路徑)

@PathVariable用於將URL的路徑變數,綁定於API的參數,適合用於RESTful當中表示唯一標識的資源。URL當中想要有可變資源的標識符,例如產品編號、任務項ID。

@GetMapping("/task/{id}")
public Task getTaskById(@PathVariable Long id) {
    // 根據ID查詢任務
}

@RequestParam(查詢字串)

@RequstParam用於從URL查詢字串(多個)獲取變數,可用於簡單的資料過濾或查詢操作。

@GetMapping("/Search")
public List<Task> searchTasks(@RequestParam String memberId) {
    // 根據會員ID查詢任務
}

@RequestBody(請求體)

@RequestBody用於將JSON格式的請求轉換為Java物件使用,適合用於複雜的資料處理,例如註冊。
要注意的是,通常會是使用POST方式處理。

@PostMapping("/members")
public Member createMember(@RequestBody Member member) {
    // 根據JSON請求建立會員
}

選擇適合的傳參方式,能夠有效提升API的設計靈活與可讀性。


上一篇
解密 Spring Data JPA—Repository (補充專案結構)
下一篇
品質把關—使用 Spring Boot的過濾器(Filter)
系列文
從卡關到通關的Spring Boot 腦內風暴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言